#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
	int k = m - 1, j = n - 1;

	while (j >= 0 && k >= 0)
	{
		if (nums2[j] > nums1[k])
		{
			nums1[k + j + 1] = nums2[j];
			j--;
		}
		else
		{
			nums1[k + j + 1] = nums1[k];
			k--;
		}
	}
	if (k <= 0)
	{
		for (int i = j; i >= 0; i--)
		{
			nums1[i] = nums2[i];
		}
	}

	for (int i = 0; i < m + n; i++)
	{
		printf("%d ", nums1[i]);
	}
}

int main()
{
	int nums1[6] = { 1,3,5 };
	int nums2[3] = { 2,4,5 };
	int nums1Size = 3;
	int nums2Size = 3;
	int m = 3;
	int n = 3;

	merge(nums1, nums1Size, m, nums2, nums2Size, n);

	return 0;
}